// CppUnit-Tutorial
// Datei: bruchtest.h
#ifndef BRUCHTEST_H
#define BRUCHTEST_H

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "../include/object.h"
#include "../res/testFixtureObject.h"

using namespace std;
using namespace oal;

class testObject : public CPPUNIT_NS :: TestFixture
{
	CPPUNIT_TEST_SUITE (testObject);
	CPPUNIT_TEST (testObjectSetAndGetValue);
	CPPUNIT_TEST (testAppendToAnotherObject);;
	CPPUNIT_TEST (testAppendMoreObjectsToAnotherObject);
	CPPUNIT_TEST (testOverrideObjectWithGetAndSetInTestFixtureObject);
	CPPUNIT_TEST (testObjectWithGetAndSetTheValuesWithOneObject);
	CPPUNIT_TEST (testOverrideObjectWithGetAndSetTheValues);
	CPPUNIT_TEST (testObjectWithGetAndSetTheValues);
	CPPUNIT_TEST (testObjectHasNextWithNoItem);
	CPPUNIT_TEST (testObjectHasNextWithOneItem);
	CPPUNIT_TEST (testObjectSetConfiguration);
	CPPUNIT_TEST (testObjectEraseCommentFromContent);
	CPPUNIT_TEST (testPutConfigurationContentIntoObject);
	CPPUNIT_TEST (testIsFileWithNoExistsFile);
	CPPUNIT_TEST (testIsFileWithExistsFile);
	CPPUNIT_TEST (testLoadFromFileReturnsCorrectText);
	CPPUNIT_TEST (testSaveToFileAndLoadCorrectText);
	CPPUNIT_TEST (testSaveToFileWithNotExistsDirectoryReturnsFalse);
	CPPUNIT_TEST (testDeleteFileWithExistsFileReturnsTrue);
	CPPUNIT_TEST (testDeleteFileWithNoExistsFileReturnsFalse);
	CPPUNIT_TEST_SUITE_END ();

	public:
		void setUp (void);
		void tearDown (void);

	protected:
		void testObjectInstance (void);
		void testObjectSetAndGetValue(void);
		void testAppendToAnotherObject (void);
		void testAppendMoreObjectsToAnotherObject(void);
		void testOverrideObjectWithGetAndSetInTestFixtureObject(void);
		void testObjectWithGetAndSetTheValues(void);
		void testObjectWithGetAndSetTheValuesWithOneObject(void);
		void testOverrideObjectWithGetAndSetTheValues(void);
		void testObjectHasNextWithNoItem(void);
		void testObjectHasNextWithOneItem(void);
		void testObjectSetConfiguration(void);
		void testObjectEraseCommentFromContent(void);
		void testPutConfigurationContentIntoObject(void);
		void testIsFileWithNoExistsFile(void);
		void testIsFileWithExistsFile(void);
		void testLoadFromFileReturnsCorrectText(void);
		void testSaveToFileAndLoadCorrectText(void);
		void testSaveToFileWithNotExistsDirectoryReturnsFalse(void);
		void testDeleteFileWithExistsFileReturnsTrue(void);
		void testDeleteFileWithNoExistsFileReturnsFalse(void);
	private:
		oal::object* obj;

};

#endif
